Language-Extensions and Restrictions

BC-FORTRAN77 supports the fully FORTRAN77 standard defined by ANSI/ISO. This standard is often ignored by some special features. I do not recommend the use of these extensions, because they do not comply with the ANSI standard and are therefore not precisely defined.

The most important specialities are:



    IMPLICIT NONEABC 
 		 INTEGER*1 		 8 bit INTEGER 

INTEGER*2 16 bit INTEGER
INTEGER*4 same as INTEGER
LOGICAL*1 8 bit LOGICAL
LOGICAL*2 8 bit LOGICAL
LOGICAL*4 same as LOGICAL
IMPLICIT NONE turn off all implicit typedefs
COMMON /%adr/ absolute addressed COMMON, adr may be a constant or a simple variable
EQUIVALENCE() between CHARACTER and other types and mixing in COMMON blocks
recursive subroutine calls
max. length of names: 8 chars. (standard 6 chars.)
The most important restrictions are:


    32kB 
 		 32kB 		 code per subroutine

32kB SAVE/DATA per subroutine or BLOCK DATA
700 subroutines per file
500 different COMMON blocks per file
There are also some restrictions, which would cause a compile-time-error, if subroutines are unreasonable large. In most cases the 32kB limit would be exceeded anyway.